Program guide system with real-time data sources

ABSTRACT

A program guide system in which an interactive television program guide is implemented at least partially on user television equipment receives program listings data and real-time data such as sports scores, news data, etc. The real-time data may be stored in a database maintained by the program guide, so that the program guide may access the stored real-time data at a later time. Updated program listings information may be provided to the program guide as part of the data stream in which the real-time data is provided. Unique keys may be generated for the program listings data and real-time data associated with each live event. The keys may be compared at the program guide to determine which program listings correspond to which items of real-time data. Different types of real-time data may be assigned different expiration times. When data has expired it may be removed from the database.

This application claims the benefit of U.S. provisional application No.60/089,486, filed Jun. 16, 1998.

BACKGROUND OF THE INVENTION

This invention relates to interactive television program guides, andmore particularly, to techniques for providing real-time data tosupplement the program listings data used in interactive televisionprogram guides.

Interactive television program guides allow television users to viewtelevision program listings on their televisions. Program guides alsoallow users to display program listings in various formats, to performgenre-based searches for programs of interest, to order pay-per-viewprograms, etc. Interactive program guides are typically implemented onmicroprocessor-based set-top boxes. Program listings data is transmittedto the set-top boxes from a centralized data distribution facility viathe user's cable system headend. The program listings data is typicallystored in a database in the set-top box, where it may be accessed by theinteractive program guide.

Much of the program listings information displayed on the user'stelevision is fairly static. The titles and scheduled broadcast timesfor most television programs do not change once they have beenestablished. However, some of the information that may be presented inthe program guide may be dynamic. For example, sports scores may bepresented in the program guide next to the program titles for certainsports events. This type of information changes frequently. If real-timedata on sports scores is provided to the program guide, the guide maycontinually display up-to-the-minute scores with the program listings inreal time. Data services that use real-time information such as newsservices may also be provided. A program guide system that provides someof these real-time data services is described in U.S. Pat. No.5,589,892.

Although the system of the '892 patent is in many respects satisfactory,it would be desirable to be able to provide a program guide system witha number of improvements.

In view of the foregoing, it is an object of the present invention toprovide a program guide system that allows real-time data such as sportsscores to be stored in the database maintained on the user's set-top boxor other suitable program guide platform. At a later time (e.g., afterthe conclusion of a sporting event), the scores may be retrieved anddisplayed by the program guide.

It is also an object of the present invention to provide a program guidesystem that allows updated program listings information to be providedusing the same data path as the real-time data.

It is also an object of the present invention to provide a program guidesystem in which unique keys may be generated to facilitate the matchingof real-time data entries and the program listings with which they areassociated.

It is also an object of the present invention to provide a program guidesystem that displays a controllable ticker containing real-timeinformation on the user's display screen on top of a television program.

It is also an object of the present invention to provide a program guidesystem in which real-time data is stored by the program guide in adatabase and in which different expiration times may be established fordifferent types of stored real-time data.

SUMMARY OF THE INVENTION

These and other objects of the invention are accomplished in accordancewith the principles of the present invention by providing an interactivetelevision program guide system in which an interactive televisionprogram guide is implemented on user television equipment or othersuitable platform such as a client-server based arrangement. In aclient-server arrangement, the program guide is partially implemented ona server and partially implemented on a client. Server functions may beperformed by the portion of the program guide that is implemented on acentral server and client functions may be performed by the portion ofthe program guide that is implemented on the user television equipment.The user television equipment may be based on a set-top box or othersuitable platform and may contain a videocassette recorder for recordingtelevision programs and a television.

A main facility contains a program guide database in which programlistings data is stored. The program listings data contains programtitles, broadcast times, and other suitable television program scheduleinformation that may be displayed for the user by the program guide. Theprogram listings data is distributed to multiple television distributionfacilities, each of which distributes the program listings data to theuser television equipment of multiple users.

A source of real-time data, which may be either one or more real-timedata sources or a real-time data collection facility that receives datafrom real-time data sources provides real-time data to the televisiondistribution facilities. The real-time data may contain sports scoresfor games in progress, current news, current financial or weatherinformation, etc. Each television distribution facility may distributethe real-time data to the program guides associated with that televisiondistribution facility.

The program listings data and the real-time data may be stored in adatabase maintained by the program guide. The database may be located onthe user television equipment, on a server on which at least part of theprogram guide is implemented, or a combination of such locations orother suitable location. If desired, the program guide may access thestored real-time data after the conclusion of a live event with whichthe data was originally associated.

Updated program schedule information may be provided to the programguide implemented on the user television equipment or other platform aspart of the real-time data stream from the source of real-time data.This data distribution path is particularly suitable for programlistings updates of the type that might naturally occur at the source ofreal-time data. For example, if the scheduled time for a game changesdue to a weather delay, information concerning the delay may be mostreadily obtained at the source of real-time data. Because the game delayaffects the scheduled broadcast time of that game, the game delay is ofthe type of program listings data that may be provided to the programguide as part of the real-time data stream.

In order to match each item of real-time data for a live event with thecorresponding program listings data for that event, a key generator isused at both the main facility and the source of real-time data. The keygenerator at the main facility generates a unique key for each programlisting based on attributes of the program listing such as start date,start time, category of event, etc. The key generator at the source ofreal-time data generates a unique key for each item of real-time dataassociated with an event using the same algorithm as the key generatorat the main facility. The keys that are generated at the main facilityare distributed to the program guide implemented on the user televisionequipment or other suitable platform with their associated programlistings data. Similarly, the keys that are generated at the source ofreal-time data are distributed to the program guide with theirassociated real-time data. At the user television equipment or othersuitable platform, the keys for the program listings are compared to thekeys for the real-time data. Program listings are matched with real-timedata based on which keys match.

A controllable ticker may be displayed on the user's television displayscreen. The controllable ticker contains a user-selectable category anda user-selectable status information item. Illustrative categories thatmay be selected by the user include different sports or sports leagues,etc. Illustrative status information items that may be selected by theuser include games in the selected category. The controllable ticker maybe displayed on a user's screen on top of a television program.

The user may use right and left cursor keys or any other suitable userinterface to change the category for the controllable ticker. When theuser changes the category for the controllable ticker the controllableticker may display the most recently viewed status information item forthat category or the first status information item for that category.

The user may set up preferences for different categories and statusinformation items. For example, the user may set up a favorite categoryas being the sport “baseball.” The user may invoke a favorites mode inwhich the categories displayed in the controllable ticker are limited tocategories that satisfy the user's preferences. The user may also switchbetween different categories using a special remote control button suchas a “favorites” button that directs the controllable ticker to displayonly categories that satisfy the user's preferences. A television iconmay be provided with the status information item when the statusinformation item relates to a television program that is available onthe user television equipment. The user may direct the program guide torecord programs from the controllable ticker or may direct the programguide to tune to the channel associated with a selected statusinformation item from the controllable ticker. The user may also setreminders from the controllable ticker and may purchase pay televisionprograms from the controllable ticker.

The real-time data stored in the database maintained by the programguide may be periodically purged from the database. The system mayassign different expiration times to different types of data. Forexample, game preview information may be removed from the database 15minutes after a game starts. Several types of real-time data may beremoved from the database at a daily rollover time (e.g., 7:00 AM).Other suitable expiration times may be established to handle data typessuch as game recaps, score updates, event updates, league scores, leagueschedules, team notes, etc.

Further features of the invention, its nature and various advantageswill be more apparent from the accompanying drawings and the followingdetailed description of the preferred embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an illustrative interactive television programguide system in accordance with the present invention.

FIG. 2 is an illustrative main menu screen that may be used to providevarious program guide options in accordance with the present invention.

FIG. 3 is an illustrative what's on now program guide screen that may beprovided in accordance with the present invention.

FIG. 4 is a flow chart illustrating steps involved in recordingprograms, tuning to programs, setting reminders for programs, andpurchasing programs in accordance with the present invention.

FIG. 5 is an illustrative sports menu program guide screen that may beprovided by the program guide in accordance with the present invention.

FIG. 6 is an illustrative sports what's on now program guide screen thatmay be provided by the program guide in accordance with the presentinvention.

FIG. 7 is an illustrative today's games program guide screen that may beprovided by the program guide in accordance with the present invention.

FIG. 8 is a flow chart of steps involved in providing real-time data tothe program guide and storing the real-time data in a database on theuser television equipment in accordance with the present invention.

FIG. 9 is a diagram of an illustrative key generator arrangement showingtypical key generator inputs in accordance with the present invention.

FIG. 10 is a flow chart of steps involved in using the key generator ofFIG. 9 to ensure that program listings data is paired with correspondingreal-time data in accordance with the present invention.

FIG. 11 is a diagram illustrating how program listings information maybe provided to the program guide as part of a real-time data feed inaccordance with the present invention.

FIG. 12 is a flow chart of steps involved in distributing programlistings data to the program guide as part of the real-time data feed inaccordance with the present invention.

FIG. 13 is a diagram of three user television equipment screens each ofwhich contain an illustrative controllable ticker in accordance with thepresent invention.

FIG. 14a is a flow chart of steps involved in changing categories andstatus information items in a controllable ticker such as thecontrollable ticker of FIG. 13 in accordance with the present invention.

FIG. 14b is a flow chart of steps involved in using an automaticallyscrolling controllable ticker in accordance with the present invention.

FIG. 15 is a flow chart of steps involved in providing a controllableticker such as shown in FIG. 13 in accordance with the presentinvention.

FIG. 16 is an illustrative select preferences screen that may beprovided to allow a user to select certain favorite settings inaccordance with the present invention.

FIG. 17 is an illustrative set-up menu screen that may be provided toallow the user to turn favorites mode on and off in accordance with thepresent invention.

FIG. 18 is a flow chart of steps involved in displaying categories andstatus information items in the controllable ticker that satisfy theuser's preferences by pressing a dedicated favorites button inaccordance with the present invention.

FIG. 19 is a flow chart of steps involved in displaying only thosecategories and status information items in the controllable ticker thatsatisfy the user's preferences by invoking a favorites mode inaccordance with the present invention.

FIG. 20 is a table showing illustrative expiration times for differenttypes of real-time data in accordance with the present invention.

FIG. 21 is a flow chart of steps involved in removing expired real-timedata from the database maintained by the program guide in accordancewith the present invention.

FIG. 22 is a flow chart of steps involved in providing various types ofreal-time data to the user television equipment in accordance with thepresent invention.

FIG. 23 is a flow chart of steps involved in displaying different typesof real-time data on the user television equipment in accordance withthe present invention.

FIG. 24 is a diagram showing how a controllable ticker may be sponsoredin accordance with the present invention.

FIG. 25 is a diagram showing how a display screen with real-time datamay be sponsored in accordance with the present invention.

FIG. 26 is a diagram showing illustrative links to and from anillustrative sponsored display screen containing real-time data inaccordance with the present invention.

FIGS. 27a, 27b, and 27c are diagrams showing illustrative controllableticker arrangements in accordance with the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

An illustrative interactive television program guide system 20 inaccordance with the present invention is shown in FIG. 1. Main facility22 contains a program guide database 24 for storing program guideinformation such as television program guide listings data, pay-per-viewordering information, television program promotional information, etc.The program guide information that is stored in program guide database24 is typically generated using a fairly involved process in which datais verified and manipulated in various ways prior to storage in database24. Information from database 24 is preferably transmitted to multipletelevision distribution facilities such as television distributionfacility 26 in parallel via communications links such as communicationslink 28. Only one such television distribution facility 26 is shown inFIG. 1 to avoid over-complicating the drawing. Each link 28 may be asatellite link, a telephone network link, a cable or fiber-optic link, amicrowave link, a combination of such links, or any other suitablecommunications path. If it is desired to transmit video signals overlink 28 in addition to text and graphics data signals, a relatively highbandwidth link such as a satellite link is generally preferable to arelatively low bandwidth link such as a telephone line.

Television distribution facility 26 is a facility for distributingtelevision signals to users, such as a cable system headed, a broadcastdistribution facility, or a satellite television distribution facility.

Real-time data sources 30 such as real-time sports score source 32,real-time news data source 34, and real-time stock market data source 36are used to gather information such as sports scores, stock quotes, andthe like from various sporting and news events. Real-time informationfrom real-time data sources 30 may be provided to each of the televisiondistribution facilities 26 by providing this information to mainfacility 22 via communications path 38 and redistributing theinformation to television distribution facilities 26 via paths 28.Alternatively (or in addition), real-time information from real-timedata sources 30 may be provided directly to television distributionfacilities 26 or may be provided to one or more real-time datacollection facilities 40 via communications paths such as communicationspath 42, where the data may be processed for retransmission totelevision distribution facilities 26 via communications paths such ascommunications path 44. If desired, data from real-time data collectionfacility 40 may be provided to television distribution facility 26 viacommunications path 46, main facility 22, and communications path 28.Communications paths 38, 42, 44, and 46 may be any suitablecommunications paths such as satellite links, coaxial cable, fiberoptics, free-space transmissions, telephone links, or a combination ofsuch links or other suitable links.

The program guide information transmitted by main facility 22 totelevision distribution facility 26 includes television program listingsdata such as program times, channels, titles, descriptions, etc.Transmitted program information also includes pay program data such aspricing information for individual programs and subscription channels,time windows for ordering programs and channels, telephone numbers forplacing orders that cannot be impulse ordered, etc.

The real-time data transmitted to television distribution facility 26may include current sports scores for games in progress, real-time gamestatistics, game delay information, game availability information (i.e.,information on whether a given game is blocked out or not), real-timestock quotes or other financial information, real-time news, currentweather information, or any other suitable real-time data.

Each television distribution facility 26 may distribute both the programguide data received from program guide database 24 and the real-timedata received from real-time data sources 30 to the program guides ofusers at associated user television equipment 48 via communicationslinks 50. User television equipment 48 may be any suitable equipment forproviding television to the user that contains sufficient processingcapabilities to implement an interactive television program guide. Paths50 may be cable links, fiber-optic links, satellite links, broadcast orother free-space links, or other suitable link or combination of suchlinks. Any suitable communications scheme may be used to transmit dataover paths 50, including in-band transmissions, vertical blankinginterval transmissions, out-of-band transmissions, digitaltransmissions, analog transmissions, cable transmissions, satellitetransmissions, over-the-air transmissions, multichannel multipointdistribution services (MMDS) transmissions, etc.

The data distribution technique that is used to distribute data on paths50 depends on the type of information that is being distributed. Forexample, text and graphics may be distributed over an out-of-bandchannel using an out-of-band modulator. Video information may also bedistributed in this way, although large quantities of video informationmay be more efficiently distributed using one or more digital channelson path 50. Such digital channels may also be used for distributing textand graphics. If desired, an interactive television program guide may beimplemented using a client-server architecture. In a client-serverarrangement, the program guide is partially implemented on a server andpartially implemented on a client. The server may be a server such asserver 55 at television distribution facility 26. The client may be usertelevision equipment (e.g., set-top boxes). Program guide data andreal-time data that are distributed to a client-server program guide attelevision distribution facility 26 may be stored in a database 57 attelevision distribution facility 26. For clarity, the present inventionis sometimes described primarily in the context of program guides thatare implemented on user television equipment, rather than in the contextof program guides that are implemented partially on a server andpartially on user television equipment.

Each user has a receiver, which is typically a set-top box such asset-top box 52, but which may be other suitable television equipmentsuch as an advanced television receiver into which circuitry similar toset-top-box circuitry has been integrated or a personal computertelevision (PC/TV). For purposes of illustration, the present inventionwill be described in the context of user television equipment 48 thatuses set-top boxes 52.

Data such as program guide data may be distributed to set-top boxes 52periodically and stored in database 53. In a client-server architecture,this database need not be maintained on the set-top box. For example,the program guide may maintain a database such as database 57 on aserver such as server 55 located at television distribution facility 26or some other suitable location or locations. In configurations wherethe program guide resides on set-top boxes 52, television distributionfacility 26 may poll set-top boxes 52 periodically for certaininformation (e.g., pay program account information or informationregarding programs that have been purchased and viewed usinglocally-generated authorization techniques). Real-time data from asource of real-time data such as real-time data sources 30 or real-timedata collection facility 40 may be distributed to set-top boxes 52 inreal time and may be stored in database 53 if it is desired to accessthis information at a later point in time (e.g., to provide access tothe sports scores for games that have recently concluded).

Main facility 22 preferably contains a processor to handle informationdistribution tasks. Each set-top box 52 preferably contains a processorto handle tasks associated with implementing the interactive televisionprogram guide. Television distribution facility 26 may contain aprocessor for handling tasks associated with data distribution or forimplementing the server functions of a client-server program guide.

Each set-top box 52 is typically connected to an optional videocassetterecorder 54 so that selected television programs may be recorded.Set-top box 52 may send commands to videocassette recorder 54 usinginfrared transmitter 56. Each videocassette recorder 54 is connected toa television 58. To record a program, the interactive television programguide implemented on set-top box 52 tunes set-top box 52 to a particularchannel and sends control signals to videocassette recorder 54 usinginfrared transmitter 56 that direct videocassette recorder 54 to startand stop recording at the appropriate times.

During use of the program guide, television program listings, real-timedata, advertisements, and other information may be displayed ontelevision 58. Each set-top box 52, videocassette recorder 54, andtelevision 58 may be controlled by one or more remote controls 60 or anyother suitable user input interface such as a wireless keyboard, mouse,trackball, dedicated set of keys, etc. A typical remote control 60 hascursor keys for positioning a highlight region on the program guidescreen and an OK or select button for selecting a highlighted item onthe screen. Other typical remote control buttons include buttons such asan information button (for requesting additional information on ahighlighted listing), a record button (for directing the program guideto record a program for a highlighted listing), channel up and downbuttons, volume control buttons, numeric keys, etc.

Communications paths 50 preferably have sufficient bandwidth to allowtelevision distribution facility 26 to distribute televisionprogramming, program listings information, real-time data,advertisements, and other information to user television equipment 48.Multiple television and audio channels (analog, digital, or both analogand digital) may be provided to user television equipment 48 viacommunications paths 50. If desired, some of the data may be distributedto user television equipment 48 by one or more distribution facilitiesthat are separate from television distribution facility 26 usingcommunications paths that are at least partly separate fromcommunications paths 50.

Certain functions, such as pay program purchasing, the purchasing ofproducts or services, and data collection functions, may require thatuser television equipment 48 transmit data to television distributionfacility 26 over communications paths 50. If desired, such data may betransmitted over telephone lines or other separate communications paths.If functions such as these are provided using facilities separate fromtelevision distribution facility 26, some of the communicationsinvolving user television equipment 48 may be made directly with theseparate facilities.

An illustrative interactive television program guide main menu screen 62is shown in FIG. 2. Menu screen 62 may be invoked by the user bypressing a guide button on remote control 60 (FIG. 1). Suitable mainmenu options on main menu screen 62 provide the user with an opportunityto request television program listings directed towards movies (option64), sports (option 66), news (option 68), children's programming(option 70), pay-per-view programming (option 72), program listingsorganized by time (option 74), program listings organized by channel(option 76), currently popular or “hot” programs (option 78), andprograms that are currently being aired (option 80). Other main menuoptions include messages option 82 (for reviewing messages from, e.g.,the service provider at television distribution facility 26) and set upoption 84 (for setting up certain user-selectable options within theprogram guide). Information services option 86 may be used to providethe user with various opportunities to view information from real-timedata sources 30.

If the user selects what's on now option 80 (e.g., by positioning ahighlight such as highlight 88 on top of option 80 with remote controlcursor keys and by pressing a select button), the program guide maypresent what's on now screen 90 of FIG. 3. What's on now screen 90contains conventional program listings such as program listing 92 forthe program Seinfeld. Such conventional program listings may containinformation on program titles, ratings, channels, scheduled broadcasttimes, running times, descriptions, critics ratings, etc.

What's on now screen 90 also contains program listings such as programlisting 94 that are combined with real-time data 96. In the example ofFIG. 3, program listing 94 is for a baseball game that is currently inprogress. Real-time data 96 contains information on the current score ofthat baseball game (4-3) and information on the current inning of thegame (the 4th). Program listings information for program listing 94 maybe obtained by the program guide from the database maintained by theprogram guide such as database 53 or database 57. Real-time data such asthe sports scores for current sporting events may be obtained directlyfrom a real-time data feed from real-time data sources 30. The data feedmay be buffered if necessary, for example, by storing data from thereal-time data sources 30 in database 53 or database 57. This allowssports scores and other real-time data to be retrieved rapidly by theprogram guide when needed. The potential latency period associated withobtaining a desired sports score from a real-time data feed is reducedby storing the real-time data in the database maintained by the programguide (e.g., database 53 or database 57) where it can be accessed almostimmediately by the program guide. Storing real-time data in thisdatabase also allows sports scores, news, weather, stock quotes, andother such real-time data to be stored for a short period of time, sothat the user may access this information with the program guide. As anexample, sports scores may be retained even after a given sporting eventhas concluded, so that the user may be provided with the final score inthe program guide. The prices of stocks at the close of the market mightalso be stored in the database maintained by the program guide, so thatthis information may be provided to the user by the program guide.Another example of a program listing that is combined with real-timedata is program listing 98 (for the news), which is combined withreal-time data 100 (text information that the stock market has risen).

As defined herein, “real-time data” refers to data that is communicatedessentially in real time from real-time data sources 30. Such data maybe buffered at certain points in system 20. “Stored real-time data”refers to data such as final sports scores or closing stock prices, etc.that are stored in the database 53 or 57 that is maintained by theprogram guide implemented on user television equipment 48 or theequivalent database maintained by the program guide implemented using aclient-server architecture.

The examples of combining program listings information and real-timedata that are shown in FIG. 3 are illustrative only. Any suitableprogram listings information may be combined with any suitable real-timedata if desired. Moreover, the what's on now screen of FIG. 3 is merelyan illustrative type of screen on which such combined information may bepresented. Combined program listings and real-time data may be presentedin any suitable format within the program guide. If desired, some of thereal-time data may be presented without program listings (e.g., byproviding various menu options for news information, sports information,weather information, etc. using an option such as information servicesoption 86 of FIG. 2.

Program guide listings screens such as screen 90 of FIG. 3 may be usedby the user to record programs, to set reminders for programs, topurchase programs or to tune to programs or channels, etc. Illustrativesteps involved in performing such functions are shown in FIG. 4. At step104, the program guide provides the user with an opportunity to select adesired program from the displayed program listings data. For example,the user may be provided with an opportunity to place a highlight regionsuch as highlight region 102 of FIG. 3 on top of a program listing withremote control cursor keys. If a user presses a remote control recordbutton, the program guide creates a recording of the program for theselected program listing at step 106. If the user presses an OK buttonat step 104 and the desired program is currently being broadcast, theprogram guide tunes set-top box 52 to the appropriate channel at step108. If the program is a pay-per-view program, the program guideprovides the user with an opportunity to purchase the pay-per-viewprogram at step 110. If the user presses an OK button at step 104 andthe desired program is scheduled to be broadcast in the future, theprogram guide sets a reminder for the program and provides the user withan opportunity to purchase the program if the program is a pay-per-viewprogram at step 110. If the user presses an information or “info” remotecontrol button, the program guide displays additional information suchas status information associated with the selected program at step 111.For example, if the selected program is a sports event, the programguide may display information on injuries in the event, game statistics,key plays, etc. The additional information may or may not be stored inthe database maintained by the program guide. The additional informationmay include information provided as part of the real-time data, providedas part of the program listings data, or both.

If desired, the program guide may provide a sports menu such as sportsmenu 112 of FIG. 5. Sports menu 112 may be reached by selecting sportsoption 66 of FIG. 2 (i.e., menu 112 may be displayed in place of a listof sports programming) or by selecting a menu item presented to the userupon selecting information services option 86 of FIG. 2 In addition, anyother suitable technique may be used for allowing a user to direct theprogram guide to display sports menu 112.

Sports menu 112 contains today's games option 114 for viewinginformation on the games that are scheduled to be played that day.What's on now option 116 (shown being selected with highlight region118) allows the user to view information on the sports events that arecurrently being broadcast and that are available to the user. Highlightsthis week option 120 allows the user to view information on sportshighlights of the week. Scores option 122 allows the user to view sportsscores information, both for games in progress (using data received bythe program guide from real-time data sources 30 in real time) and forgames that have concluded (using data received by the program guide andstored in the database maintained by the program guide such as database53 or database 57).

An illustrative sports what's on now screen 124 that may be displayed bythe program guide when the user selects option 116 of FIG. 5 is shown inFIG. 6. The category sports is merely illustrative. Any suitablecategory of television programming (or no specific category) may be usedfor a what's on now screen. Screen 124 contains a number of programlistings that contain real-time data. In particular, program listing 126is displayed with associated real-time data 128 (the current score andinning for the game of listing 126). Program listings may contain titles130, channels 132, and scheduled broadcast times 134. The use may accessadditional program listings by scrolling through the available listingsusing cursor keys.

An illustrative today's games screen 136 that may be displayed by theprogram guide is shown in FIG. 7. Each program listing for a game has agame title 138 (typically the names of the two opponents in the game).Games that are in progress such as the Pistons at Hornets game have acurrent score 140 and information 142 on the status of the game (e.g.,which quarter the game is in, time remaining, etc.). The current scoreand status information are obtained from real-time data provided byreal-time data sources 30 (FIG. 1). The update period for live sportingevents depends on the capabilities of the real-time data source, and maybe, for example, in the range of several seconds to several minutes.Games that have concluded such as the Knicks at Pacers game contain afinal score 144 and an indication 146 that the game is over. Score 144is an example of the type of stored real-time data that is maintained indatabase maintained by the program guide so that information oncompleted games may be made available to the user for at least severalhours (and perhaps a day or more) after the game has concluded.

Games that are available to the user to watch on television areindicated by television icon 148. This icon is merely illustrative. Ifdesired, the channel call letters and channel number of those channelsthat are available to the user might be displayed (as in the arrangementof FIG. 6) to indicate that the game is available on that channelinstead of using an icon. Games that are not available on a user'stelevision (e.g., the Pistons at Hornets and Knicks and Pacers games inthe example of FIG. 7) are displayed on screens such as today's gamesscreen 136 for inclusiveness and to allow the user to view the score andstatus information even if the game is not available on television.

Steps involved in providing a program guide screen such as today's gamesscreen 136 of FIG. 7 are shown in FIG. 8. At step 149, program listingsinformation is received by the program guide from main facility 22(e.g., received by the program guide on the server portion of aclient-server guide at television distribution facility 26 or receivedby the program guide on user television equipment 48 via televisiondistribution facility 26) and stored in the database maintained by theprogram guide (e.g., database 53 or database 57). Step 149 may beperformed continuously, periodically, or on demand, or may be performedusing any other suitable technique. At step 150, real-time data such assports scores data and game status information is received by theprogram guide (e.g., received by the program guide at televisiondistribution facility 26 or received by the program guide at usertelevision equipment 48 from television distribution facility 26),displayed by the program guide with associated program listings ifneeded (e.g., on a today's games screen), and stored in the databasemaintained by the program guide (e.g., database 53 or database 57). Whenthe user desires to view real-time data and program listings, the usermay direct the program guide to display a screen such as a today's gamescreen. The program guide then accesses the stored real-time data andassociated program listings in the database maintained by the programguide and displays the stored real-time data with its associated programgame title at step 152. Game title information may be stored in thedatabase maintained by the program guide as part of the stored programlistings data that is received from main facility 22 at step 149. Toproperly maintain the database, the program guide purges data in thedatabase that has “expired” (i.e., that has been stored for a certainamount of time and is no longer needed). Although represented as aseries of discreet steps, the steps performed by the program guide inFIG. 8 may be performed using concurrent processes and some of the stepsmay be performed in whole or in part in different orders thanillustrated in FIG. 8 if desired.

When real-time data is received (e.g., at step 150 of FIG. 8), theprogram guide must locate the associated program listings informationfor that real-time data in the database maintained by the program guidebefore both the real-time data and the associated program listings aredisplayed together by the program guide. For example, if the currentscore for a baseball game is received, the program guide must locate thename of the game, the channel for the game, the start and stop time ofthe game, etc. from within the database maintained by the program guide.

In order for the program guide to be able to determine which programlisting is associated with a given item of real-time data, an identicalkey generator is used at both main facility 24 and at the source ofreal-time data (i.e., at real-time data sources 30 or at real-time datacollection facility 40). As shown in FIG. 9, each key generator 156 mayreceive information on a live event's start date 158, start time 160,category of event 162 (e.g., major league baseball, hockey, NationalFootball League football, etc.), identifier for event within category164 (e.g., an indicator for the home team), or any other suitablefactors. Each key generator 156 takes these inputs and uses a suitablealgorithm to generate a key 166 that uniquely identifies the live event.Any suitable algorithm may be used by the key generator. For example, asimple key generator algorithm involves concatenating each of the inputsto the key generator (e.g., start date, start time, etc.) into a singlestring. With this type of algorithm the resulting string is the uniquekey.

Steps involved in using the key generators to uniquely identify theprogram listings and the real-time data for various live events areshown in FIG. 10. At step 168, a first key generator 156 (FIG. 9) isused at main facility 22 in maintaining database 24, so that eachprogram listing stored in database 24 is provided with a uniqueassociated key. Whenever a live event is added to database 24, the firstkey generator 156 processes information on that event's start date,start time, etc. to generate the unique key. The unique key is stored indatabase 24 with the associated program listing for the live event. Atstep 170, the program listings data for the live event and theassociated key for that live event are distributed from main facility 22to the program guide (e.g., they are distributed to the program guideimplemented on user television equipment 48 via television distributionfacility 26).

At step 172, a second key generator 156 that operates using the samealgorithm as the first key generator is used at the source of real-timedata (i.e., either at real-time data sources 30 or real-time datacollection facility 40) to create a unique key for the real-time dataassociated with a live event that will match the unique key for the samelive event that was generated by the first key generator. At step 174,the real-time data for the live event and the associated unique key aredistributed to the program guide (e.g., at television distributionfacility 26 or user television equipment 48). Program listings and thekeys associated with the program listings are stored in the databasemaintained by the program guide (e.g., database 53 or database 57).Real-time data and the keys associated with the real-time data may bestored in the database maintained by the program guide if desired toreduce latency and allow access to the real-time data after it has beentransmitted.

At step 176, the program guide compares the real-time data events keysreceived from the source of real-time data with the program listingsevent keys received from database 24 of main facility 22 to determinewhich event data is associated with which program listings data.Typically, the program listings keys to which the real-time data keysare being compared at step 176 have been stored in the databasemaintained by the program guide (e.g., database 53 or database 57).Whenever there is a match between the key for a program listing and thekey for some real-time data, it can be concluded that the programlisting and the real-time data are for the same live event. The programguide may therefore simultaneously display both the program listing andthe associated real-time data for the same event together (e.g., on aprogram guide display screen such as today's games screen 146 of FIG. 7)at step 178.

The approach of FIG. 10 may be used in situations in which the real-timedata updates are for events that have corresponding program listings indatabase 24. If desired, real-time data updates may also be transmittedfor which there is no corresponding television program or programlisting in database 24. Such updates may include, for example, updatesto news feeds, updates to score information for which there is notelevised game, etc. Real-time data for which there is no associatedprogram listing may be distributed using steps 172 and 174 of FIG. 10.In step 176 of FIG. 10 the program guide determines that there is nomatching program listing key in the database maintained by the programguide (e.g., database 53 or database 57) (because there is nocorresponding program listing). Accordingly, the program guide maydisplay the real-time data for the live event without simultaneouslydisplaying an associated program listing.

Sometimes it may be desirable to update program listings information inthe database maintained by the program guide using the data feed for thereal-time data provided by real-time data sources 30. For example, agame may be delayed due to changing weather conditions or a game may nolonger be blacked out because the game has achieved a certain level ofticket sales. This type of information affects the program listings thatare displayed by the program guide. For example, a weather delay affectsthe scheduled broadcast time for the game in the program listing and achange in a game's blackout status affects whether the game appears in aprogram listings with an associated channel number. The best way toacquire such updated program listings information may be to usereal-time sports data source 32.

As shown in FIG. 11, in these situations data sources 30 provide liveevent data and updated program listings information to televisiondistribution facility 26 either directly as shown by solid line 31 orindirectly via main facility 22 as shown by dotted line 33. Televisiondistribution facility 26 also receives program listings data from mainfacility 22 that has not been updated with information from data sources30. Television distribution facility 26 provides the program listingsdata, the live event data, and the updated program listings informationto the program guide (e.g., the program guide implemented on usertelevision equipment 48). The program listings data and the updatedprogram listings information is stored by the program guide in thedatabase maintained by the program guide (e.g., database 53). The liveevent data may also be stored in the database maintained by the programguide if desired. If desired, the program guide may be based on aclient-server architecture and the database maintained by the programguide may be located at television distribution facility 26.

Steps involved in distributing updated program listings as part of thereal-time data distributed from real-time data sources 30 are shown inFIG. 12. At step 180, the updated program listings information isdistributed to the program guide as part of the live event data stream.At step 182, the database maintained by the program guide (e.g.,database 53 of FIG. 1) is updated using the updated program listingsinformation. At step 184, the program guide uses the updated programlistings data for functions such as displaying program listings,scheduling program recordings, setting reminders, allowing the purchaseof pay-per-view events, etc.

Another aspect of the invention involves displaying a controllableticker on the user's television screen. As shown in FIG. 13,controllable ticker 186 may be displayed by the program guide on theuser's television screen 188 as an overlay on top of a televisionprogram 190 (e.g., the program showing on channel 4).

Controllable ticker 186 may contain a selectable category 192 such asmajor league baseball, National Football League (NFL) football, NationalHockey League (NHL) hockey, news, or any other suitable user-defined orpredefined category. The user may select from different categories thatare available using right and left remote control cursor keys asindicated by arrows 194. For example, if the user is viewing thecontrollable ticker 186 shown on the top screen 188 of FIG. 13 in whichthe selected category is “major league baseball,” pressing the rightcursor key will direct the program guide to present the controllableticker 186 shown in the center screen 188 of FIG. 13 in which theselected category is National Football League.

Each category 192 has a number of associated items of statusinformation. For example, in the controllable ticker 186 shown in thetop screen 188 of FIG. 13, the program guide has displayed statusinformation item 196 (the game title, current score, and current inning,of the Phillies at Pirates game). Status information items forsports-related categories such as status information item 196 containreal-time data such as current score information and game statusinformation. Status information items for other types of categoriescontain other suitable types of real-time data. For example, statusinformation items associated with the category news may be “stocks,”“bonds,” “world,” “national,” or “weather.”

An icon such as television icon 187 may be displayed with a statusinformation item such as status information item 196 that corresponds toa program listing for a program or channel that is available on theuser's user television equipment. The user may select a statusinformation item that contains a television icon (or other suitableindicator of television program availability) as shown in FIG. 4. Thisallows the user to record a program, tune to a program or channel, set areminder for a program, purchase a pay program, or display additionalinformation such as status information or listings information, etc. Ifdesired, certain additional information such as program listingsinformation may be obtained even if the television icon or otherindicator is not used.

A user may select from among the various status information itemsassociated with a given category by using up and down remote controlcursor keys as indicated by arrows 198. For example, if the programguide is displaying the controllable ticker 186 shown on the upperscreen 188 of FIG. 13 and the user presses a down cursor key, theprogram guide may be directed to display the lower screen 188 of FIG.13, which contains a controllable ticker 186 in which the next availablestatus information item 196 (information on the Orioles at Red Sox game)is displayed.

Steps involved in providing the controllable ticker are shown in FIG.14a . At step 200, the program guide provides the user with anopportunity to invoke the controllable ticker. After the user presses aremote control play key or other suitable button (e.g., to make anon-screen menu selection), the program guide displays the controllableticker at step 202. If desired, the controllable ticker may beintegrated into a program guide browse function and accessed by changingthe channel or time displayed in the browse display outside the normalchannel or time range. Initially, the most popular category and statusinformation item for that category may be displayed. The controllableticker may be displayed as an overlay on top of a television program orother currently existing screen. An advantage of providing thecontrollable ticker as an overlay on top of an existing televisionprogram is that it allows the user to continue to listen to and watchthe program while the controllable ticker is displayed. If desired, thecontrollable ticker may be provided as a full screen. The audio of anexisting television program may be retained during this display toprovide the user with a cue that the program is still being broadcast.Other suitable arrangements are shown in FIGS. 27a, 27b, and 27c . Asshown in FIG. 27a , the controllable ticker may be displayed on aportion of the user's television screen while a reduced-size version ofthe video for the current channel is simultaneously displayed withappropriate masked regions. This allows the aspect ratio of normaltelevision to be preserved for the video portion of the display. Asshown in FIG. 27b , the controllable ticker can be displayed in the formof an “L” shape. The space in the vertical portion of the controllableticker may be used to display statistics, etc. As shown in FIG. 27c ,while the controllable ticker is being displayed, the video for thecurrent television channel may be displayed on one portion of thedisplay screen while advertisements are displayed on another portion ofthe display screen. An advantage of arrangements such as those of FIGS.27a, 27b, and 27c is that they allow the user to continue to listen toand watch the current television program, just as when the video for thecurrent television program is simultaneously displayed with thecontrollable ticker by overlaying the controllable ticker on top of thecurrent program. All of these arrangements are merely illustrative. Anysuitable arrangement may be used if desired.

If the user presses a left or right remote control cursor key or someother suitable button, the program guide changes the category for thecontrollable ticker at step 204 of FIG. 14a . The controllable tickercontaining the newly selected category is displayed at step 202. If theuser presses an up or down remote control cursor key or some othersuitable button, the program guide changes the selected statusinformation item to the next status information item in the selectedcategory at step 206. For example, if the category is news and thecurrent status information item is “stock prices,” pressing an up ordown cursor key may direct the program guide to change to the statusinformation item “weather news” at step 206. The controllable tickerwith the newly selected status information item is displayed at step202.

As shown in FIG. 14b , the controllable ticker may be automaticallyscrolled. With this approach, the program guide provides the user withan opportunity to invoke the controllable ticker at step 280. After theuser presses a remote control play key or other suitable button (e.g.,to activate an on-screen menu selection), the program guide displays anautomatically scrolling controllable ticker at step 282. Either thecontrollable ticker categories, status information items, or both may beautomatically scrolled by the program guide. When the user presses aremote control key such as a cursor or stop key, the program guide stopsthe scrolling motion of the ticker and displays a correspondingstationary controllable ticker at step 284.

If the user presses a left or right cursor key (for example), theprogram guide changes the category for the controllable ticker at step286. If the user presses an up or down cursor key (for example) theprogram guide changes the status information item to the previous ornext such item at step 288. If desired, the scrolling action of thecontrollable ticker may be resumed after a predetermined amount of timeelapses (e.g., 15 seconds) or after the user presses play. As shown byline 288, in these situations the program guide resumes scrolling of thecontrollable ticker and displays the automatically scrollingcontrollable ticker at step 282.

The program guide may allow the user to cancel the display of thecontrollable ticker using any suitable technique. For example, theprogram guide may provide an opportunity for the user to cancel thedisplay of the controllable ticker whenever the user presses the playkey or an exit key as shown at step 208 of FIG. 15. The display of thecontrollable ticker may also be canceled automatically by the programguide after a predetermined time interval. If desired, the program guidemay store the most recently viewed category (and optionally the mostrecently viewed status information item) when the user exits as shown atstep 210. When the user invokes the controllable ticker at a later time,the program guide may display the controllable ticker with the mostrecently used category at step 212. The status information itemdisplayed at step 212 may be either the first (or other suitabledefault) status information item associated with the most recentlyviewed category or may be the most recently viewed status informationitem for the most recently viewed category.

If desired, the user may direct the program guide to display additionalinformation (either from the real-time data source or the programlistings database or both) that relates to a displayed statusinformation item. For example, as shown in FIG. 15, the user may pressan info key or other suitable remote control button to direct theprogram guide to display such additional information at step 213.Although shown in FIG. 15 as a step that follows the invoking of thecontrollable ticker, this is merely illustrative. The additionalinformation display feature of step 213 may be performed at any suitabletime at which a given status information item is displayed in thecontrollable ticker.

The user may set up certain preferences for the program guide to usewhen displaying the controllable ticker. For example, the program guidemay provide a screen such as select preferences screen 214 of FIG. 16.Using an interface such as select preferences screen 214, the programguide may provide the user with an opportunity to select one or moregeneral categories such as general category 216 as favorites. Theprogram guide may also provide the user with an opportunity to selectvarious favorite options that depend upon the selection of the favoritegeneral categories. In the example of FIG. 16, the favorite generalcategory selected by the user is sports. Accordingly, the program guidehas provided a number of preference selection options 218 related to thesports category. In particular, screen 214 contains an option 218 a forthe user to select one or more favorite specific sports categories, anoption 218 b for the user to select one or more favorite leagues, anoption 218 c for the user to select one or more favorite conferences,and an option 218 d for a user to select one or more favorite teams. Theuser may select one or more favorite teams with each option. The usermay select any general categories as favorites and the program guide mayprovide any suitable set of options related to those categories to beused in setting the user's preferences.

Once the user's preferences have been selected by the user, the programguide may use the selected preferences in displaying the controllableticker. This may be accomplished using a number of suitable techniques.For example, the program guide may only display categories in thecontrollable ticker that are one of the user's selected favoritecategories. If desired, the user may turn on or off a “favorites mode”in the program guide using, for example, a favorites mode option 220 ina set-up menu 222, as shown in FIG. 17. When favorites mode is turnedon, the only categories displayed by the program guide in thecontrollable ticker are those that satisfy the user's preferences. Whenfavorites mode is turned off, all categories are displayed.

Another example involves the use of a remote control favorites key. Asshown in FIG. 18, after the program guide has displayed the controllableticker at step 274, the program guide may provide the user with anopportunity to change to the user's next favorite category or statusinformation item (as defined by the user's preferences that were set upusing, e.g., screen 214 of FIG. 16) at step 276. Whenever the userpresses a key such as a favorites key, the program guide may change tothe next category (or the next status information item or both ifdesired) that satisfies the user's preferences at step 278.

Steps involved in using the controllable ticker with user-selectedpreferences are shown in FIG. 19. At step 224, the program guideprovides the user with an opportunity to set up preferences for thecontrollable ticker. Step 224 may be performed using a selectpreferences screen such as select preferences screen 214 or any othersuitable screen or user interface. At step 226, the program guideprovides the user with an opportunity to invoke favorites mode. Forexample, the user may be provided with an opportunity to turn favoritesmode on or off using a set-up screen such as set-up menu screen 222 ofFIG. 17 or other suitable user interface (e.g., a dedicated button fortoggling favorites mode on or off, etc.). At step 228, the program guideprovides the user with an opportunity to invoke the controllable ticker.For example, the program guide may invoke the controllable tickerwhenever the user presses an appropriate remote control button (e.g.,the play button) or makes a menu selection requesting that thecontrollable ticker be displayed. At step 230, the program guidedisplays the controllable ticker on user television equipment 48 (e.g.,on the screen of television 58). If the favorites mode is on, theprogram guide displays the controllable ticker with the categories (andoptionally items) that satisfy the user's selected preferences. If thefavorites mode is off, all categories may be displayed. The user mayaccess the displayed favorite categories by pressing a favorites buttonor using some other suitable user interface.

The different types of real-time data provided to the program guide fromreal-time sources 30 are useful for different periods of time. Forexample, notes on a particular sports team may be of interest forseveral days, whereas current score information may only be of interestfor a few minutes. In order to avoid cluttering the database maintainedby the program guide (e.g., database 53 or database 57), the programguide may purge the database maintained by the program guide to removedata that is outdated and thus no longer useful.

A different expiration time may be assigned to each item of real-timedata. After an item of data has expired (as determined by its expirationtime), the program guide may remove that data from the databasemaintained by the program guide. For example, the expiration time for ascore update may be the time of the score update plus 10 minutes. Whenthe program guide determines that more than 10 minutes have elapsedsince the score update, that score update may be removed from thedatabase.

A roll-over time may be used to establish a time of day (or time of dayand day of the week, etc.) at which certain information may be clearedout of the database. The roll-over time may be any suitable time, suchas 7:00 AM Eastern Standard Time. Certain data types may expire at therollover time. Illustrative expiration times for various different typesof data are shown in the table of FIG. 20.

Steps involved in maintaining the database using expiration times suchas the illustrative expiration times of FIG. 20 are shown in FIG. 21. Atstep 266, the program guide deletes each category of data from thedatabase as its expiration time is reached. At step 268, the programguide removes substantially all information from the database that isrelated to completed games at the rollover time. At step 270, theprogram guide replenishes the database with fresh program listings data.At step 272, the program guide stores new real-time data that has beenprovided to the program guide in the database to replace the data thathas expired.

Steps involved in providing various types of real-time data to theprogram guide are shown in FIG. 22. The data provided in the example ofFIG. 22 and related FIGS. 20, 21, and 23 is related to sports. However,this is only illustrative. Data management for other types of real-timedata such as news, financial information, weather, etc. may be handledby the program guide in the same way.

As shown in FIG. 22, at step 232 game preview information may beprovided to the program guide. Game preview information may beinformation that is of interest before a game is played, such as generalstatistical information, facts about the venue, etc. At step 234, gamerecap information may be provided to the program guide. Game recapinformation may include game highlights or any other suitable gamesummary information. At step 236, score update information may beprovided to the program guide. Score update information is typically themost recent score for a given game. At step 238, event updateinformation may be provided to the program guide. Event updateinformation may include, for example, changes to the currently scheduledgame time due to a weather delay. At step 240, league scores informationmay be provided to the program guide. At step 244, the program guide maybe provided with team notes, which may be any suitable information onthe team, such as information on team statistics, individual statistics,information in injuries, etc. At step 246, the program guide implementedon user television equipment 48 may be provided with other suitablesports-related real-time information from real-time data sources 30. Theorder of the steps shown in FIG. 22 is illustrative. The steps or anysuitable subset of the steps may be performed in any suitable order andmay be performed concurrently if desired.

Steps involved in displaying the illustrative types of sports-relatedreal-time data provided to the program guide in FIG. 22 are shown inFIG. 23. At step 248, the program guide provides the user with anopportunity to request sports information in the program guide. Requestsmay be made, for example, by pressing an appropriate remote controlbutton or by responding to a menu option on a suitable program guidescreen. If the user requests game preview information, the program guidemay display the game preview information at step 250. If the userrequests game recap information, the program guide may display therequested recap information at step 252. If the user requests updatedscore information (e.g., by invoking the controllable ticker or aprogram guide screen containing program listings and corresponding scoreinformation) the program guide may display the updated score informationat step 254. If the user requests updated event information, the programguide may display updated event information at step 256. If the userrequests league scores information, the program guide may display leaguescores information at step 258. If the user requests league scheduleinformation, the program guide may display league schedule informationat step 260. If the user requests team notes information, the programguide may display team notes information at step 262. If the userrequests that the program guide display some other type of information,the program guide may display such information at step 264. The user mayrequest any of these types of information by displaying a programlistings screen, a controllable ticker, or a program information screenwith the program guide.

As shown in FIG. 24, a controllable ticker such as the controllableticker of FIG. 13 may be sponsored by a company. Controllable ticker 290may be provided with a logo 292 for the sponsoring company. In theexample of FIG. 24, logo 292 is displayed in place of a television logobecause there is no television program available for the displayedstatus information item (Broncos at Redskins). The presence of logo 292may indicate that links are available to the services (channels,advertisements, etc.) of the sponsor. If desired, logos may be displayedelsewhere on controllable ticker 290 or elsewhere on the user'stelevision screen. Links to and from the controllable ticker may beprovided to cross-promote various aspects of the sponsor's services.Link 294 is an example of a link to controllable ticker 290 fromadvertisement 296 for the sponsor that appears on program guide displayscreen 298. when the user selects advertisement 296 (e.g., using aremote control), the program guide displays controllable ticker 290 onthe user's display screen. Controllable ticker 290 may be displayed asan overlay on the current television channel (channel 4 in the exampleof FIG. 24). Link 300 is an example of a link away from controllableticker 290. Because the sponsor ESPN in the example of FIG. 24 has anassociated TV channel 302, link 300 may be used to take the user to thatchannel when the user selects (for example) logo 292. The currenttelevision program on the ESPN channel 302 need not be related tocategory 304 or status information item 306 of controllable ticker 290.The links shown in FIG. 24 are merely illustrative. Links may beprovided to and from any suitable service of the sponsor (e.g.,advertisements, information pages, television channels, web pages,etc.). Moreover, the type of sponsor (a sponsor with a TV channel) usedfor the example of FIG. 29 is merely illustrative. Any suitable entitymay sponsor controllable ticker 290, even if that entity does not haveits own television channel.

In addition, any suitable type of display containing real-time data maybe sponsored, not just displays such as controllable ticker 290. Asshown in FIG. 25, such a sponsored display screen 308 may use a logosuch as logo 310 or other suitable indicator as the basis of a link 312to the sponsor's service (e.g., sponsor's television channel 314). If alogo is used as the basis of a link, the user may access the link by,for example, maneuvering a highlight region to the logo and pressing aselect or enter remote control button. The sponsor's link may also beaccessed by pressing a dedicated remote control key or by selecting asuitable on-screen menu option.

Another illustrative example of a sponsored program guide display screenwith real-time data is shown in FIG. 26. The sponsored program guidedisplay screen with real-time data that is shown in FIG. 26 is displayscreen 316. display screen 316 contains real-time data 318 on the U.S.Open golf tournament. Display screen 316 is sponsored by the companyNike, which sells sports-related products. The user may reach displayscreen 316 by accessing link 320 from an advertisement or notice such asadvertisement 322 on program guide display screen 324 by placinghighlight region 326 on advertisement 322. If the user selects Nike logo328 of screen 316, the program guide invokes a web browser or otherwiseprovides the user with web access and directs the user to the Nike website 330, as shown by link 332.

The foregoing is merely illustrative of the principles of this inventionand various modifications can be made by those skilled in the artwithout departing from the scope and spirit of the invention.

1-190. (canceled)
 191. A method for computing and distributing a uniquekey corresponding to an event, the method comprising: receiving, at amedia guide database, a start date, a start time, and a category ofevent associated with the event; computing, using a key generator, aunique key based on the start date, the start time, and the category ofevent associated with the event; storing, in the media guide database,the unique key and an identifier for the event; transmitting, via aserver, the unique key and the identifier for the event to a userequipment; receiving, at the user equipment, a selection of theidentifier for the event; and responsive to receiving the selection,generating for display, at the user equipment, the event and additionalinformation corresponding to the event based on the unique key.
 192. Themethod of claim 191, wherein the unique key uniquely identifies theevent.
 193. The method of claim 191, wherein computing the unique keyusing the key generator comprises concatenating the start date, thestart time, and the category of event into a single string.
 194. Themethod of claim 191, wherein the event is a live event and wherein theidentifier for the event is a program listing for the live event. 195.The method of claim 191, wherein the unique key is a first unique key,further comprising: computing a second unique key for the additionalinformation corresponding to the event.
 196. The method of claim 195,wherein the first unique key and the second unique key are computedusing the same algorithm.
 197. The method of claim 195, wherein thesecond unique key is computed at an additional database different fromthe media guide database.
 198. The method of claim 191, furthercomprising: transmitting, via the server, the additional informationcorresponding to the event to the user equipment.
 199. The method ofclaim 191, further comprising: receiving supplementary data which is notassociated with any event; and generating for display, at the userequipment, the supplementary data independently of the event.
 200. Themethod of claim 191, wherein the additional information is generated fordisplay as an overlay.
 201. A system for computing and distributing aunique key corresponding to an event, the system comprising: a mediaguide database configured to: receive a start date, a start time, and acategory of event associated with the event; store a unique key and anidentifier for the event; and transmit, via a server, the unique key andthe identifier for the event to a user equipment; and a key generatorconfigured to compute the unique key based on the start date, the starttime, and the category of event associated with the event, whereinresponsive to receiving a user selection of the identifier for theevent, the event and additional information corresponding to the eventare generated for display based on the unique key.
 202. The system ofclaim 201, wherein the unique key uniquely identifies the event. 203.The system of claim 201, wherein the key generator is further configuredto compute the unique key by concatenating the start date, the starttime, and the category of event into a single string.
 204. The system ofclaim 201, wherein the event is a live event and wherein the identifierfor the event is a program listing for the live event.
 205. The systemof claim 201, wherein the unique key is a first unique key and the keygenerator is a first key generator, further comprising: a second keygenerator configured to compute a second unique key for the additionalinformation corresponding to the event.
 206. The system of claim 205,wherein the first unique key and the second unique key are computedusing the same algorithm.
 207. The system of claim 205, wherein thesecond unique key is computed at an additional database different fromthe media guide database.
 208. The system of claim 201, wherein theadditional information corresponding to the event is transmitted, viathe server, to the user equipment.
 209. The system of claim 201, whereinresponsive to receiving supplementary data which is not associated withany event, the supplementary data is generated for display independentlyof the event.
 210. The system of claim 201, wherein the additionalinformation is generated for display as an overlay.